1. Field of the Invention
This invention relates in general to printing systems, and more particularly to a system and method for managing print object headers associated with active print objects via a controllable stacked object queue arrangement.
2. Description of Related Art
To print an image, a print engine processor, also referred to herein as a raster image processor, converts the image in a page description language (PDL) or vector graphics format to a bit-mapped image indicating a value to print at each pixel of the image. The bit-mapped image is sent to the printer to cause the print heads to print the specified color value at the pixel according to the information in the bit map. If a printer has multiple print heads, such as a print head for different colors, then bit maps are generated for each print head. The print heads overlay the images defined by their respective bit maps onto the print medium.
To produce the bit maps for the print heads, the raster image processor performs numerous transformations on a print image, which may include different types of data, such as line art, e.g., text and graphics, and continuous tone (contone), e.g., images. The raster image processor may perform operations such as data compression, color space conversion, and halftoning when generating the raster bit map to print. After dissecting a print image into different components, such as color components, text art, contone, images, etc., the raster image processor merges the different elements together so that the original image, previously split into different components, is reconstructed for the color plane process.
Print data sent to such a print engine is typically formatted at the print engine hardware interface as either one continuous stream of data for each sheet printed, or in other cases may be formatted into multiple, individual, print objects for each sheet that is to be printed. In the latter case, x-axis and y-axis start locations along with other information about the object is sent with the object, so that the object can be printed in the correct location on the sheet. The information related to the print object is typically placed in a memory location by software, and the hardware fetches and retains the information.
When print objects are individually sent to the print engine for printing, the print process for these objects must be managed. Print manager hardware may retrieve the objects and associated information, such as object headers, from memory. The print manager holds the pertinent header information for various object parameters, such as start of object, end of object, overlapping, clipping, and the like. It also monitors the print process of each object, and determines when printing of the object is complete and can thereafter be discarded.
Performing a print management function could involve utilizing fixed queue locations that hold header information for each object being processed. Each queue location is filled with object header data on a “next available” basis. When a queue location becomes free, it could be directly filled with the next data for an object as it comes in. This has a variety of disadvantages, such as the accumulation of additional loads on the input data signals as more and more queue locations are added. This also exhibits the disadvantage of requiring more complicated chip routing, as each signal of the input data bus is wired from one source to the numerous queue locations.
It would be desirable to avoid the aforementioned and other printer problems, and thus a need exists in the printing industry for a system and manner of managing the queuing of print objects in an organized and efficient manner that, among other things, minimizes input load accumulation problems and facilitates on-chip signal routing. The present invention provides a solution to the aforementioned and other shortcomings of prior art printing systems, while offering additional advantages over the prior art.